# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Crystal Project Template

game: Crystal Project
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.
  game:
    Crystal Project: 0.11.4 # Version of the world required for this yaml to work as expected.

Crystal Project:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  trap_likelihood:
    # This is the likelihood that a trap will replace a filler check. A value of 0 means no traps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  ################
  # Goal Options #
  ################
  goal:
    # Choose what is required to complete the game.
    # 
    # Checking the first sign in the Spawning Meadows will tell you the selected goal. A goal items counter is displayed on the in-game party screen in the menu.
    # 
    # Astley: Defeat Astley in the New World. A New World Stone will be given to the player after obtaining a certain number of jobs (starting Jobs don't count).
    # 
    # True Astley: A saga awaits you! Collect 4 Deity Eyes and the STEM WARD to challenge Gabriel for the Old World Stone. Then travel to the Old World to defeat Periculum and earn the Proof of Merit.
    # Along the way, gather enough Jobs to unlock the New World Stone. Then you can venture to the New World to defeat true Astley to win!
    # 
    # Clamshells: Collect enough clamshells for Mañana Man in Seaside Cliffs.
    astley: 50
    true_astley: 0
    clamshells: 0

  clamshell_goal_quantity:
    # If your goal is Clamshells, select how many you need to win.
    # 
    # (If your goal is not Clamshells, this setting does nothing. 3 Clamshells will be placed in your pool and the Mañana Man will ask for 2. Don't worry, he's cool with it.)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 2
    # Maximum value is 99
    13: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-2-99: 0 # random value between 2 and 99

  extra_clamshells_in_pool:
    # If your goal is Clamshells, pick how many more Clamshells than your goal value to have in the item pool.
    # This option makes it so that you don't have to find every single Clamshell in your pool to win.
    # 
    # (If your goal is not Clamshells, this setting does nothing.)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99

  new_world_stone_job_quantity:
    # If your goal is Astley, select how many Jobs you need to find before being sent the New World Stone for the final fight.
    # 
    # This option is validated at generation time, and if it is higher than the number of jobs you can obtain, it will be capped to what is possible. By default, the maximum you can obtain is 18.
    # 
    # Picking Job Rando: Full and decreasing the Starting Job Quantity will increase the maximum by that much. It will also increase if you enable mods that give you more.
    # 
    # Picking Job Rando: None and Included Regions: Beginner or Advanced will reduce the maximum number available to 4 or 11, respectively.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 99
    18: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-99: 0 # random value between 1 and 99

  ####################
  # Location Options #
  ####################
  included_regions:
    # Choose which regions to play in! Only locations within your chosen regions will give you checks; the rest will be empty.
    # This can be used to adjust the difficulty and length of your game.
    # 
    # NOTE: Make sure to include the region that has the finish line of your chosen goal in it!
    # Example: if your goal is Astley, Advanced is considered to have that finish line, so you can pick Advanced, Expert, or All.
    # 
    # Beginner: Only regions up through the end of Skumparadise will have checks. Finish Line: Clamshells
    # 
    # Advanced: Regions up to Salmon Bay will have checks. Finish Line: Astley (Note: Level Gating's Level Catch-Up Option is recommended for Astley on Advanced.)
    # 
    # Expert: Regions up to The Deep Sea will have checks. (Note: The Depths will not be included.)
    # 
    # All: Every region is included. Finish Line: True Astley
    beginner: 0
    advanced: 0
    expert: 0
    all: 50

  job_rando:
    # None: all Jobs are at their normal crystal locations in the vanilla game.
    # 
    # Crystal: all vanilla Jobs normally received from crystals are chucked into the item pool.
    # 
    # Full: your starting jobs are randomized, and the rest of the vanilla Jobs are added to the item pool.
    # Adjust the Starting Job Quantity (see below) for how many random Jobs you start with.
    none: 0
    crystal: 0
    full: 50

  starting_job_quantity:
    # Select how many Jobs you start with. (This setting only does anything if JobRando is set to Full.)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 6
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-6: 0 # random value between 1 and 6

  disable_sparks:
    # When enabled, enemy sparks are disabled: enemies will completely ignore the player, and touching them does not start combat.
    # An Enable/Disable Sparks button will appear in the game's Archipelago menu that you can use to toggle spark disabling on and off.
    # Explore unbothered by fiery plebeians, re-enable them when you deign to grind XP or earn money, and re-disable them when you've had enough of their nonsense!
    # 
    # However: if Kill Bosses is enabled, then boss sparks still have your number (a.k.a. chase you and start combat). They can sense your murderous intent.
    'false': 50
    'true': 0

  kill_bosses_mode:
    # When enabled, defeating a boss will provide checks.
    # 
    # WARNING: If you restrict the Included Regions to Beginner or Advanced, checks will require defeating level 50+ bosses in some of the early areas!
    # You may want to set the Level Gating option to Level Catch-Up.  Without it, you are signing up to either grind or fight the bosses under-leveled.
    'false': 50
    'true': 0

  shopsanity:
    # When enabled, all shop inventories will be replaced with checks. Be prepared, adventurer.
    # 
    # Choosing "enabled and hint" will, when you CLOSE the store, automatically create a hint for every item you did not purchase
    # so other players will realize you have betrayed them by refusing to purchase their key progression item!
    disabled: 50
    enabled: 0
    enabled_and_hint: 0

  regionsanity:
    # Nothing I have tried has been able to drive the citizens of Sequoia to collect enough crystals!
    # Adventurers have had TOO MUCH freedom!  From now on, you will adventure where I tell you to.
    # Unless you have a pass from ME, you won't be able to do any adventuring!
    # - Grandmaster
    # 
    # When enabled, the grandmaster will not permit you to interact with anything in a region
    # without receiving his "official permission" (i.e. "Item - Spawning Meadows Pass").
    # However, the Overpass and Underpass are regions of lawlessness where the Grandmaster has no authority! ;)
    # (You're also still allowed to use the save points, we won't tell.)
    # 
    # If you put any region pass items in your starting inventory, the first one will be chosen as your starting region.
    # 
    # If regionsanity is set to extreme, the Grandmaster won't even let you walk through regions you don't have the pass for.
    # Spend more than 10 seconds in a region without a pass and the Grandmaster will teleport you!
    # 
    # You will start the game with a pass for one reachable region.
    disabled: 50
    enabled: 0
    extreme: 0

  #######################
  # Progression Options #
  #######################
  progressive_mount_mode:
    # When enabled, all mount items are combined into a Progressive Mount Instrument and will be received in the approximate order you would receive them in the vanilla game:
    #    Quintar Pass -> Quintar Flute -> Ibek Bell -> Owl Drum -> Salmon Violin -> Salmon Cello -> Quintar Ocarina
    # 
    # When disabled, different mount types are separated:
    #    Progressive Quintar Flute (Quintar Pass -> Quintar Flute -> Quintar Ocarina),
    #    Progressive Salmon Violin (Salmon Violin -> Salmon Cello),
    #    Ibek Bell,
    #    and Owl Drum.
    'false': 0
    'true': 50

  level_gating:
    # When enabled, the party's level is considered for Archipelago logic, and Progressive Level items are added to the pool. (This won't stop you from beating the game at level 3. ^_^)
    # 
    # None: Level gating is disabled. No Progressive Levels in the pool.
    # 
    # Level Passes: Progressive Levels are added to the pool. They do not affect the party's actual level or level cap. Archipelago will expect you to collect them to access level-gated areas,
    # and in-game tracking will light up checks that you have access to based on that level.
    # 
    # Level Capped: The party's maximum level is hard capped. Progressive Levels are added to the pool. Collecting them allows your party to gain more levels, and in-game tracking will light up
    # checks that you have access to based on that max level.
    # 
    # Level Catch-Up: Progressive Levels are added to the pool. Collecting them will help your party catch up in levels (and LP!) based on the number you've collected. For example, if the Progressive Level
    # Size Setting is 6 (see below), 1 Progressive Level will bring your party's level up to 6, 2 Progressive Levels will bring your party's level up to 12, etc. If your party
    # has already reached that level, no extra levels will be granted. 2 LP are granted per 1 level granted. In-game tracking will light up checks that you have access to based on the number you have collected.
    # 
    # Level Set: A combination of Level Catch-Up and Capped. The player will always be at the level set by the Progressive Level. There is no escape.
    none: 0
    level_passes: 50
    level_capped: 0
    level_catch_up: 0
    level_set: 0

  level_compared_to_enemies:
    # If Level Gating is on, this option changes what level you're expected to fight enemies.
    # Set it higher if you want to be a higher level than enemies when you enter a region, or lower if you want to be lower.
    # 
    # For example, if this is set to 5, and the enemy level of a region is 12, then the Level Gating options would require you to unlock level 17 (or for Level Capped, max level 17) for that region.
    # If it's set to -5, and the enemy level of a region is 12, then the Level Gating options would require you to unlock level 7 (or for Level Capped, max level 7) for that region.
    # 
    # Default is 0, or on-level for the enemy level of a region.
    # 
    # Note: Remember to increase your Max Level (see below) if you want regions with high-level enemies to still be lower level than you.
    # Note #2: Spark color changes: red at -10 levels, orange at -5, green at +3, and grey +10. (Though enemies can be 3-5 levels above the min enemy level for a region.)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is -10
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range--10-10: 0 # random value between -10 and 10

  progressive_level_size:
    # If Level Gating is on, Progressive Levels will be added to the item pool. This sets the number of levels that an individual Progressive Level will grant, as well as the starting level expectation.
    # 
    # For example, if Progressive Level Size is 6, the three Level Gating options would behave like this:
    #    Level Passes - At the start, areas up to level 6 are considered in logic. The first Progressive Level you collect will signal that areas up to 12 are now logic, the second up to 18, etc.
    #    Level Capped - Your party's level cap starts at 6. The first Progressive Level you collect will increase your party's level cap to 12, the second to 18, and so on.
    #    Level Catch-Up - Your party is leveled up to 6 at the start. The first Progressive Level you collect will bring your party's level up to 12 if it isn't already, the second up to 18, and so on.
    #    Level Set - Your party's level and level cap start at 6. The first Progressive Level you collect will increase your party's level and level cap to 12, the second to 18, and so on.
    # 
    # This setting will only increase your party's starting level (3 by default) if you pick Level Catch-Up.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 3
    # Maximum value is 10
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-3-10: 0 # random value between 3 and 10

  max_level:
    # This allows your party to level past the default maximum level of 60. If Level Gating is on, increasing this number will also put more Progressive Levels in your pool.
    # 
    # Set it below 60 at your own risk <3
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 3
    # Maximum value is 99
    60: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-3-99: 0 # random value between 3 and 99

  key_mode:
    # Skeleton Key: Only the Skeleton Key, which can open any locked door, will be in your item pool.
    # 
    # Key Ring: Keys for individual dungeons will be grouped into Key Rings. Each Key Ring will give all keys needed to complete one dungeon. The Skeleton Key will still be in the pool.
    # 
    # Vanilla: All vanilla keys will be in the item pool.
    # 
    # Skelefree: Same as the named mode, but removes the Skeleton Key.
    skeleton: 0
    key_ring: 0
    vanilla: 50
    key_ring_skelefree: 0
    vanilla_skelefree: 0

  obscure_routes:
    # When enabled, connections between regions that are difficult to find will be expected in logic.
    'false': 50
    'true': 0

  prioritize_crystals:
    # When enabled, crystals will be prioritized when placing progression items.
    # 
    # While you're here, did you know that all YAMLs for all worlds include a priority_locations and an exclude_locations option?
    # You can use these to flag any individual location or a location group as priority or excluded.
    # Priority locations will be chosen first when placing progression items, and excluded locations will be chosen last.
    # 
    # Here's an example:
    # priority_locations = ["Crystals", "Region Completions", "Bosses", "Salmon River NPC - Win the Salmon Race"]
    # 
    # Crystal Project's location groups: Crystals, Bosses, Region Completions, and Shops
    'false': 0
    'true': 50

  auto_spend_lp:
    # When enabled, every time a character earns LP, it will automatically spend LP on abilities or passives.
    # Extra LP earned on a job that is maxed will be sent to your sub job or, if that is also maxed, a random un-maxed job.
    'false': 50
    'true': 0

  auto_equip_passives:
    # When enabled, every time a character unlocks a new passive, it will equip it immediately if enough passive points are available.
    # Passives with drawbacks, that enable equipping more gear types, or that modify threat are not automatically equipped.
    # If mods are enabled, all passives are auto-equipped with no exclusions.
    'false': 50
    'true': 0

  easy_leveling:
    # When enabled, characters will not receive reduced experience for being dead or for being a higher level than the fought enemy.
    'false': 50
    'true': 0

  #####################
  # Item Pool Options #
  #####################
  progressive_equipment_mode:
    # When enabled, each category of weapon and armor will be sent to the player in progressive order from weakest to strongest.
    # 
    # When disabled, weapons and armor are fully randomized.
    'false': 0
    'true': 50

  start_with_treasure_finder:
    # When enabled, the player will start with the Treasure Finder in their inventory. When disabled, it will be in the item pool.
    # 
    # NOTE: Having the Treasure Finder is required for the in-game minimap to display nearby checks.
    'false': 0
    'true': 50

  start_with_maps:
    # When enabled, the player will start with all maps in their inventory.
    # 
    # Note: The in-game minimap hides when in an area without its map. The world map will display check location icons but will not draw an area without its map.
    'false': 0
    'true': 50

  fill_full_map:
    # When enabled, the world map will start filled in for areas that the player has a map item for.
    'false': 50
    'true': 0

  include_summon_abilities:
    # When enabled, Summons are added to the item pool.
    # 
    # Note: It is not recommended to turn this off with Job Rando: Full and a low number of starting Jobs. You don't want to get stuck with just a Summoner who can only summon Pinga!
    # (I'm sorry, Pinga.)
    'false': 0
    'true': 50

  include_scholar_abilities:
    # When enabled, Scholar abilities are added to the item pool. They can still be learned as normal from enemies.
    'false': 0
    'true': 50

  #############
  # Bonus Fun #
  #############
  item_info_mode:
    # For Full, all treasure and store icons on the map will display if they are progression, useful, or filler items.
    # 
    # For Earned, all treasure and store icons on the map will display as mimics until you complete 50% of your checks.
    # 
    # For Obscured, all treasure and store icons on the map will display as mimics permanently.
    # If you find skipping treasures is distasteful but part of your brain always wants to be efficient, this option is for you!
    # It's also good for a race environment.
    full: 50
    earned: 0
    obscured: 0

  randomize_music:
    # When enabled, music will be randomized upon connecting to the AP World. (This toggles the base game's Randomize Music function.)
    'false': 50
    'true': 0

  use_mods:
    # WARNING: This setting is very in beta right now! Enabling it is not recommended for: multiworlds that do not allow releasing items or with Regionsanity enabled
    # (some mods add items to regions but don't place them anywhere near that region).
    # 
    # When enabled, items and locations added by other Crystal Project mods will be added to the item and location pools at generation. Mods newer than Editor version 30 are incompatible.
    # 
    # Multiworld host instructions:
    # 1. In order to select the mods you'd like to include in randomization, make a folder named "crystal_project_mods" inside your root Archipelago directory.
    # 2. Go to your Steam installation folder for Crystal Project (<YourSteamInstallFolder>/steamapps/workshop/content/1637730) and find the individual folders for the mods you'd like to include.
    # 3. Inside each mod's folder is a mod json. Copy that json to the crystal_project_mods folder you made inside the Archipelago directory.
    # 4. If you have a specific order you want to apply the mods, rename the jsons such that they are in alphabetical order in the order you want them to be applied.
    #    E.g. name the first mod a_modname, the second b_modname, etc.
    # 
    # NOTE: When this setting is on, all Crystal Project players in the multiworld with this setting enabled MUST use the same mods.
    # 
    # The in-game tracking will use special icons for modded locations that will not display their accessibility (as we can only guess at how accessible they are based on coordinates,
    # and would prefer the tracking to be as accurate as possible).
    # 
    # When disabled, only base game locations and items will be randomized. You can still use other mods - at your own risk, adventurer - they just won't add checks.
    # 
    # The game will warn you if you open a game with mods that don't match the mods used to generate the multiworld. It will warn you even if this setting is disabled for you, if you start playing with mods.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
